Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Diagnostic investigation only. No runtime fix is proposed; this branch must not merge.
The unchanged parked-worker immediate-GC test regresses on the original signed Windows ARM64 binaries from merge
6aba42d75d: ten interleaved trials timed out, while all ten trials of the prior qualified807211511fbinary passed. Both original Windows x64 binaries passed. The feature and test originated in #129.The initial formatted traces masked the failure. Lower-impact mapped traces preserve it: Windows ARM64 times out in all ten trials with tracing disabled, all ten with memory recording, and all ten with background-only recording. Windows x64 passes all thirty trials. The ARM64 full worker file has 292 passes and the single immediate-GC failure; x64 passes all 293.
All eleven recorded failing ARM64 cases show the collector publishing the immediate timer, the VM wake, libuv delivery, owner-side timer consumption/firing, and GC completion. No deferred finalizer is enqueued. The matching x64 recordings enqueue and run the finalizer. Source ordering places weak-reference reconciliation before the recorded GC-end observer. Thus the observed failure precedes Bun's deferred task dispatch; no lost owner wake was demonstrated.
The final native diagnostic captures full-memory dumps of both failing original ARM64 executables (normal and profile). Native CDB with the profile PDB shows the worker parked in
WebWorker::spin→auto_tick_active→uv_run→GetQueuedCompletionStatusEx. Both prior-qualified executable variants pass. The exact breaking upstream commit and reason the finalizer is not readied remain unproven. No object-retention root cause or runtime correction is claimed.Evidence:
All six diagnostic iterations are used. The original regression test, timeout, and assertions remain unchanged. Diagnostic changes passed independent Codex P2 scoped review. Release qualification remains blocked on this regression; no merge, release, or settings change is part of this investigation.